#pragma once

#include "apdu.h"
#include "apdu_mgr_base.h"

class apdu_key_manager : public apdu_mgr_base
{
public:
	apdu_key_manager(void);
	~apdu_key_manager(void);

public:

	apdu * create_apdu_export_public_key(int app_id, int container_id, int key_type);

	apdu * create_apdu_import_session_key(int app_id, int container_id, int key_spec,  unsigned long alg_id, 
										unsigned char * wraped_data, unsigned long wraped_len);
	
	apdu * create_apdu_destroy_session_key(int app_id, int container_id, int key_id);
	
	apdu * create_apdu_gen_session_key(int app_id, int container_id, unsigned long alg_id);

	apdu * create_apdu_set_session_key(int app_id, int container_id, unsigned long alg_id, unsigned char * key_value, int len );

	apdu * create_apdu_set_session_key_from_file(int app_id, int container_id, unsigned long alg_id, 
				int offset, char * file_name);

private:

};
